import type { Emitter } from 'mitt';
import mitt from 'mitt';

interface GlobalEvents {
  /**
   * 用户即时消息事件
   */
  'user-im': ImmediateMessage;
  /**
   * 广播即时消息事件
   */
  'global-im': ImmediateMessage;
  /**
   * 全局数据通信
   */
  'global-data': Recordable;
  /**
   * 表单设计器-获取当前选中表单生成规则
   */
  'form-active-rule': FormCreateRule;
  /**
   * 表单设计器-删除表单规则
   */
  'form-delete-rule': FormCreateRule;
  /**
   * 关闭当前Tab页面
   */
  'close-current-tab': void;

  // 添加索引签名
  [key: string]: unknown;
}

export const emitter: Emitter<GlobalEvents> = mitt();
